1. Technical Field
The present invention relates to image processing, and more particularly to a system and method for seeded image segmentation using l∞ minimization.
2. Discussion of Related Art
Image segmentation is an important problem in computer vision. Traditionally, segmentation methods have focused on unsupervised segmentation, grouping elements of the image according to a criterion such as homogeneity. Recently, supervised image segmentation methods have gained popularity, giving the user (or preprocessor) the ability to affect the segmentation as needed for a particular application.
Supervised segmentation methods typically come in three types: 1) The user is asked to provide pieces (e.g., points) of the desired boundary which are then completed by the method, 2) The user is asked to specify an initial boundary that is “close” to the desired boundary which evolves to the desired boundary or 3) The user is asked to provide an initial labeling of some pixels as belonging to the desired object to be segmented or to the background, after which the method completes the labeling for all pixels.
For supervised segmentation methods taking user provided initial labeling as input, the user provides a partial labeling of the image, known as seeds, after which a complete labeling is constructed. Correction of an erroneous segmentation is accomplished by specifying additional labels for the initializing partial labeling. Two exemplary seeded segmentation methods are the Graph Cuts and Random Walker methods. These methods treat the image as a graph and minimize certain energy functionals on this graph to produce a segmentation. Since these energy functionals are convex, it is possible to find the global optimum. Moreover, due to the method definitions on general graphs, they may be applied without modification to an image of arbitrary dimension.
In both of the Graph Cuts and Random Walker methods, a weighted graph representation of the image is constructed. Nodes of this graph correspond to pixels in the image and edges are placed between nearby pixels. The edge weights are determined by a similarity measure on these pixels such that an edge connecting two pixels with a high similarity should have a large weight and vice versa.
In the Graph Cuts method, the foreground/background seeds are treated as source/sink nodes for a max-flow/min-cut operation. Using a maxflow/min-cut method, a set of edges with the minimum total weight is found and then returned as the object boundary. A problem with the Graph Cut method is the “small cut” behavior. Since this method tries to minimize the total edge weights in the cut, it may return very small segmentations as a result of low contrast, a small number of seeds or noise. The minimum-cut criterion may also cause problems by returning solutions in which the boundary takes a “shortcut” over a protruded section of the object in an attempt to minimize boundary length.
In the Random Walker method, the edge weights are treated as probabilities (when normalized by node degree) of a particle at one node traveling to a neighboring node. Given seeds, one may then compare the probability that a particle initiating at any node (pixel) travels first to the foreground or background seeds and assign that pixel to the corresponding label. It is possible to determine these probabilities for each pixel analytically without any simulation of random walks. While the Random Walker achieves good segmentation in the presence of weak boundaries and is insensitive to seed point selection, it is subject to loose segmentation, for example, in the presence of image noise.
Therefore a need exists for an improved seeded segmentation method.